<?php

/**
 * @author Paweł Napieracz
 * @version 1.0
 */
class Modul_Admin_Zarzadzanie_GrupyLista extends Modul_Admin_Abstract {

    public function inicjalizuj() {
        $this->tytul = 'Lista dostępnych grup';

        if (isset($this->param['akcja']) &&
                $this->param['akcja'] == 'xml') {
            $this->xml();
        }
    }

    public function prawa() {
        if (isset($this->uzytkownik['uprawienia']) &&
                !in_array('cms_zarzadzanie_grupy', $this->uzytkownik['uprawienia'])) {
            $this->zakoncz('/cms/logowanie/akcja,blad,info,3.html');
        }
        parent::prawa();
    }

    private function xml() {
        $tab = new AutoDB('cms_grupy');
        $grid = new Helper_FlexiGridJSON(); //stworzenie obiektu Grida
        //ustawienie warunków zapytania
        $where = $grid->getPrzeszukaj();

        //ustawienie ilości wszystkich rekordów, aby można było wyliczyć liczbę
        //dostępnych stron
        $grid->setWszystkie($tab->Select('Count(*) as Count')->Like($where)->GetFirst()->Count);

        //zapytanie o wyniki do wyświetlenia
        $wyniki = $tab->Select('id, nazwa')->Like($where)
                ->OrderBy($grid->getSortowanie())
                ->Limit($grid->getLimitIle(), $grid->getLimitOd())
                ->Run();

        //kodowanie do formatu JSON
        $grid->kodujJSON($wyniki, array('id', 'nazwa'));
        die();
    }

}

?>
